II4D3 - Estadística I

Universidad Tecnológica de Pereira

Estadística

Analítica

Algunas aplicaciones en ingeniería mecánica

  • Análisis de vibraciones: ¿Qué frecuencias de vibración son más críticas para la integridad de una estructura mecánica?
  • Diseño de experimentos: ¿Cuál es la combinación óptima de materiales para maximizar la resistencia de un componente?
  • Gestión de activos: ¿Cómo podemos predecir el desgaste de una pieza mecánica en función del tiempo y uso?
  • Simulación y modelado: ¿Cómo podemos modelar el comportamiento térmico de un motor bajo diferentes condiciones operativas?

Algunas aplicaciones en ingeniería eléctrica

  • Análisis de confiabilidad: ¿Cuál es la vida útil esperada de un componente eléctrico en diferentes condiciones operativas?
  • Optimización de redes eléctricas: ¿Cuál es la configuración óptima de una red eléctrica para minimizar pérdidas de energía?
  • Control de calidad: ¿Cómo podemos monitorear y mejorar la calidad de la producción de componentes electrónicos?
  • Análisis de fallas: ¿Qué factores están más correlacionados con fallas en sistemas eléctricos?
  • Predicción de demanda: ¿Cómo podemos predecir la demanda de electricidad en diferentes periodos del año?

Algunas aplicaciones en ingeniería industrial

  • Optimización de la producción: ¿Cuál es la secuencia óptima de producción para minimizar los tiempos de espera y maximizar la eficiencia?
  • Análisis de capacidad: ¿Cuál es la capacidad máxima de una línea de producción sin comprometer la calidad?
  • Control de calidad: ¿Cómo podemos reducir la variabilidad en la producción para mejorar la calidad del producto?
  • Estudio de tiempos y movimientos: ¿Cuáles son los factores que más afectan el tiempo de ciclo en una línea de ensamblaje?
  • Análisis de datos de ventas: ¿Qué factores están más correlacionados con el aumento de las ventas de un producto específico?

Algunas aplicaciones en ingeniería civil

  • Análisis de riesgos: ¿Cuál es la probabilidad de falla de una estructura bajo diferentes cargas y condiciones ambientales?
  • Control de calidad en materiales: ¿Cómo podemos monitorear y mejorar la calidad del concreto utilizado en una construcción?
  • Estudios geotécnicos: ¿Cuál es la distribución de las propiedades del suelo en una zona específica?
  • Optimización de recursos: ¿Cuál es la cantidad óptima de materiales necesarios para una construcción sin exceder el presupuesto?
  • Simulación de tráfico: ¿Cómo podemos modelar y predecir el flujo de tráfico en una nueva carretera para minimizar los congestionamientos?

Algunas aplicaciones en ingeniería de sistemas

  • Análisis de datos de usuarios: ¿Cuáles son los patrones de uso más comunes de una aplicación y cómo podemos mejorar la experiencia del usuario?
  • Predicción de fallos en sistemas: ¿Qué factores están más correlacionados con fallas en un sistema informático?
  • Análisis de rendimiento: ¿Cómo podemos mejorar el rendimiento de una base de datos en función de los patrones de acceso?
  • Seguridad informática: ¿Cuál es la probabilidad de un ataque de seguridad basado en los patrones de tráfico de red?
  • Optimización de algoritmos: ¿Cómo podemos mejorar la eficiencia de un algoritmo de búsqueda?

Algunas aplicaciones en ingeniería agroindustrial

  • Optimización de cultivos: ¿Cuál es la combinación óptima de fertilizantes y riego para maximizar el rendimiento de un cultivo?
  • Control de calidad en alimentos: ¿Cómo podemos reducir la variabilidad en la producción de alimentos para mejorar la calidad y seguridad?
  • Estudios de impacto ambiental: ¿Cómo podemos medir y reducir el impacto ambiental de prácticas agrícolas específicas?
  • Predicción de plagas: ¿Cómo podemos predecir la aparición de plagas en un cultivo en función de las condiciones climáticas y otros factores?

Elementos clave

Ejemplo de aplicación

Áreas complementarias

Introducción

¿Para qué sirve este curso?

  • Describir y analizar conjuntos de datos.
  • Análisis de fenómenos aleatorios en ingeniería.
  • variables aleatorias generadas por experimentos las cuales se pueden modelar con algún tipo de distribución de probabilidad conocida.
  • Identificar y planear proyectos de Inteligencia de Negocios

Contenido

Contenido

Download PDF file.

Evaluación

Módulo I (30%)

- Evaluación continua (50%)

- Taller EDA (50%)

Módulo II (25%)

- Evaluación continua (50%)

- Taller de probabilidad (50%)

Módulo III (45%)

- Evaluación continua (50%)

- Taller de Business Intelligence (50%)

Recursos guía

  • Chang (2024). R Graphics Cookbook (2nd ed.)
  • Crawley (2015). Statistics: and introduction using R
  • Koralov y Sinai (2012). Theory of Probability and Random Processes (2nd ed.)
  • Tattar, Ramaiah y Manjunath (2016). A course in statistics with R
  • Wackerly et al. (2008). Estadística matemática con aplicaciones (7ma ed.)
  • Wickman et al. (2023). R for Data Science (2nd ed.)
  • Wickman et al. (2023). ggplot2 (2nd ed.)

Software del curso

Software estadístico

Matlab

Software estadístico

Software estadístico

Presentación

Módulo I: Introducción

  • Variables
  • Medidas de tendencia central
  • Medidas de forma
  • Gráficos
  • Software para análisis estadístico

Variables

Medidas de tendencia central

Media

\(\begin{equation} \bar{X} = \frac{\sum_{i=1}^{n} X_{i}}{n} \end{equation}\)

Ventaja: fácil de interpretar y calcular.

Desventaja: sensible a valores extremos.

Mediana

Es el valor que se encuentra en el centro de una secuencia ordenada de datos. Hay la misma cantidad de datos por encima y por debajo de ella.

\(\begin{equation} \text{Mediana} = \begin{cases} X_{\frac{n+1}{2}}, & \text{si } n \text{ es impar} \\ \frac{X_{\frac{n}{2}} + X_{\frac{n}{2} +1}}{2}, & \text{si } n \text{ es par} \end{cases} \end{equation}\)

Ventaja: fácil de interpretar y calcular, no es sensible a valores extremos.

Moda

Es el valor que aparece con mayor frecuencia, se utiliza en fines descriptivos ya que es muy variable para diferentes muestras. Puede haber más de una moda.

Un conjunto de datos puedes ser unimodal, bimodal o multimodal.

Ejemplo

Calcular la media, mediana y moda de la edad, altura y dinero en efectivo de los estudiantes del grupo 6 de Estadística General:

Id Edad Altura (cm) Dinero en efectivo (COP)
1 18 170 2000
2 20 180 65000
3 21 178 20000
4 22 159 20000
5 20 158 2500
6 20 175 100
7 21 162 1000
8 23 172 20
9 20 184 30
10 19 155 45
11 22 164 50000
12 26 175 1500000
13 22 180 1000000
14 20 185 250
15 23 178 60000
16 21 173 200000
17 22 162 50
18 21 173 52
19 22 168 40
20 20 165 4
21 23 180 150

Ejemplo

Calcular la media, mediana y moda de la edad, altura y dinero en efectivo de los estudiantes del grupo 6 de Estadística General:

Id Edad Altura (cm) Dinero en efectivo (COP)
1 18 170 2000
2 20 180 65000
3 21 178 20000
4 22 159 20000
5 20 158 2500
6 20 175 100000
7 21 162 1000
8 23 172 20000
9 20 184 30000
10 19 155 45000
11 22 164 50000
12 26 175 1500000
13 22 180 1000000
14 20 185 250000
15 23 178 60000
16 21 173 200000
17 22 162 50000
18 21 173 52000
19 22 168 40000
20 20 165 4000
21 23 180 150000
22 19 178 70000

Ejemplo

[1] "La variable Edad (años) tiene una media de 21.14, su mediana es 21 y su moda es 20"
[1] "La variable Altura (cm) tiene una media de 171.55, su mediana es 173 y su moda es 180"
[1] "La variable Dinero (COP) tiene una media de 169613.64, su mediana es 50000 y su moda es 20000"
# Formula moda
moda <- function(x) {
  ux <- unique(x)
  ux[which.max(tabulate(match(x, ux)))]
}


link_encuesta <- "https://docs.google.com/spreadsheets/d/e/2PACX-1vRSn6T8sclb-P9UeGkh305w-8fs-rPR1_ritC2FPOLS2Ub13KUr_vF1dvRb0ZYr582s3aXD2gEVziGL/pub?gid=1539739636&single=true&output=csv"

data <- read.csv(link_encuesta)

# Edad
media_edad <- round(mean(data$Edad), digits=2)
mediana_edad <- median(data$Edad)
moda_edad <- moda(data$Edad)

# Altura
media_altura <- round(mean(data$Altura..cm.), digits=2)
mediana_altura <- median(data$Altura..cm.)
moda_altura <- moda(data$Altura..cm.)

# Dinero
media_dinero <- round(mean(data$Dinero.en.efectivo), digits=2)
mediana_dinero <- median(data$Dinero.en.efectivo)
moda_dinero <- moda(data$Dinero.en.efectivo)

print(paste0("La variable Edad (años) tiene una media de ", media_edad, ", su mediana es ", mediana_edad, " y su moda es ", moda_edad))

print(paste0("La variable Altura (cm) tiene una media de ", media_altura, ", su mediana es ", mediana_altura, " y su moda es ", moda_altura))

print(paste0("La variable Dinero (COP) tiene una media de ", media_dinero, ", su mediana es ", mediana_dinero, " y su moda es ", moda_dinero))

Medidas de dispersión

Rango

\(\begin{equation} Rango = Valor_{máximo} - Valor_{mínimo} \end{equation}\)

Propiedades:

  • Fácil de calcular.
  • Sensible a valores extremos.
  • No considera la distribución de los datos.
  • Posible dependencia del tamaño de la muestra.
  • Puede ser problemático para comparar diferentes conjuntos de datos o muestras.
  • Brinda una vista rápida y sencilla de la dispersión y sobre la presencia de datos atípicos significativos.

Varianza

\(\begin{equation} \sigma^2 = \frac{1}{N} \sum_{i=1}^{N} (x_i - \mu)^2 \end{equation}\)

\(\begin{equation} s^2 = \frac{1}{n-1} \sum_{i=1}^{n} (x_i - \bar{x})^2 \end{equation}\)

Propiedades de la varianza

  • Siempre es positiva.
  • Sensible a valores extremos, aunque de manera más equilibrada que el rango.
  • Unidades cuadradas.
  • Aditividad: la varianza de la suma de variables aleatorias independientes es igual a la suma de sus varianzas individuales.
  • Permite comparar diferentes conjuntos de datos.
  • Dependencia del escalado

\(\begin{equation} Y = aX \\ Var(Y) = a^2 Var(X) \end{equation}\)

¿Por qué en la expresión de la varianza se utiliza el cuadrado de las diferencias en vez de su valor absoluto?

Desviación estándar

\(\begin{equation} \sigma = \sqrt{\frac{1}{N} \sum_{i=1}^{N} (x_i - \mu)^2} \end{equation}\)

\(\begin{equation} s = \sqrt{\frac{1}{n-1} \sum_{i=1}^{n} (x_i - \bar{x})^2} \end{equation}\)

Propiedades de la desviación estándar

  • Mismas unidades que los datos.
  • Interpretación directa.
  • Sensible a valores extremos.
  • Propiedad de escalabilidad: si \(Y = aX\), \(Std(Y) = |a|*Std(X)\).
  • Aditividad en variables independientes: \(Std(X+Y) = \sqrt{Var(X) + Var(Y)}\).
  • Sensible a outliers.
  • Asume distribución simétrica.

Coeficiente de variación

\(\text{Coeficiente de Variación} = \frac{\text{Desviación Estándar}}{\text{Media}} \times 100\%\)

Medidas de forma

Coeficiente de asimetría (skewness)

Indica hacia dónde están sesgados los datos.

\(\text{As} = \sum_{i=1}^{n} \frac{(X_{i}-\bar{X})^2}{ns^3}\)

Valores:

\([-0.5 , 0.5] \text{ ...Simétrico}\)

\([-1, -0.5) \text{ ó } (0.5, 1] \text{ ...Sesgo moderado}\)

\(As < -1 \text{ ó } As>1 \text{ ...Muy sesgado}\)

Coeficiente de asimetría (skewness)

Coeficiente de asimetría (skewness)

Curtosis

Indica cuán “chata” o alta es la distribución

\(\text{kur} = \sum_{i=1}^{n} \frac{(X_i - \bar{X})^4}{ns^4}\)

Medidas de posición (cuantiles)

Los cuantiles sirven para estudiar o analizar lo que sucede con algún porcentaje de datos en particular, cuando se han ordenado previamente los datos. Los cuantiles se dividen en cuartiles, deciles y percentiles.

p-tiles

  • Cuartil: genera cuatro intervalos, cada uno con el 25% de los casos.
  • Quintil: genera cinco intervalos, cada uno con el 20% de los casos.
  • Decil: genera 10 intervalos, cada uno con el 10% de los casos.
  • Veintil: genera 20 intervalos, cada uno con el 5% de los casos.
  • Percentil: genera 100 intervalos, cada uno con el 1% de los casos.
  • N personalizado: es posible determinar el número de intervalos, según sea la necesidad. Por ejemplo, un valor de 3 produciría 3 categorías agrupadas (2 puntos de corte), cada una de las cuales contendría el 33.3% de los casos.

Percentiles

El percentil es un valor tal que el P por ciente de las observaciones son menores a tal valor.

Ejemplo: suponga que la nota del parcial es 4.1 y esa nota corresponde al percentil 90. Esto indica que el 90% de los estudiantes obtuvieron una nota entre 0.0 y 4.1 o que sólo el 10% sacó más de 4.1.

Para calcular los percentiles primero se deben ordenar los datos.

Percentiles

\[\text{Dec} = \frac{i*n}{100} \text{ ; i es el percentil a calcular} \]

\[P_{i} = \begin{cases} X_{(\lfloor Dec \rfloor + 1)} & \text{si } Dec \neq 0 \\ \frac{X_{Dec} + X_{Dec+1)}}{2} & \text{si } Dec = 0 \end{cases}\]

Datos: 11 , 13 , 16 , 20 , 21

\(P_{10} = ?\) \(P_{95} = ?\) \(P_{73} = ?\)
\(P_{20} = ?\) \(P_{50} = ?\)

Tablas de frecuencias

Intervalo Mc fi Fi hi Hi
[0.5-1.3) 0.9 4 4 0.16 0.16
[1.3-2.1) 1.7 6 10 0.24 0.4
[2.1-2.9) 2.5 4 14 0.16 0.56
[2.9-3.7) 3.3 7 21 0.28 0.84
[3.7-4.5] 4.1 4 25 0.16 1

Tablas de frecuencias

Notas: {1.2, 1, 0.6, 0.5, 1.3, 2, 2, 1.8, 1.9, 1.4, 2.5, 2.4, 2.3, 2.8, 3, 3.1, 3, 3.5, 2.9, 3.4, 3.6, 4.5, 3.7, 3.8, 3.9}

Intervalo Mc fi Fi hi Hi

\(MC = \text{Marca de clase}\)

\(fi = \text{Frecuencia absoluta}\)

\(Fi = \text{Frecuencia absoluta acumulada}\)

\(hi = \text{Frecuencia relativa}\)

\(Hi = \text{Frecuencia relativa acumulada}\)

Cálculos sobre datos agrupados

Media aritmética \[\begin{equation} \bar{X} = \sum_{i=1}^m \frac{f_i * M_c}{n} \end{equation}\]

\(\text{m = número de clases}\)

Mediana \[\begin{equation} \text{Me} = Linf_{i} * \frac{\frac{n}{2} - F_{i-1}}{f_{i}}*a \end{equation}\]

\(\text{a= ancho de clase}\) \(\text{i = # de intervalo cuya frecuencia acumulada supera } \frac{n}{2}\) \(Linf_{i} = \text{Límite inferior del intervalo i}\)

Varianza \[\begin{equation} V(X) = \sum_{i=1}^m \frac{(Mc_{i} - \bar{X})^2*f_{i}}{n-1} \end{equation}\]

Gráficas básicas

  • Diagrama de barras (bar plot)
  • Diagrama de dispersión (scatter plot)
  • Diagrama de líneas (line chart)
  • Histograma (Histogram)
  • Diagrama de ojiva (Ogive graph)
  • Diagrama circular (pie chart)
  • Diagrama de cajas / Diagrama de caja y bigotes (boxplot)

Lenguajes de programación

Un lenguaje de programación es un conjunto de instrucciones y reglas que permiten a los humanos comunicarse con máquinas.

Lenguajes de programación

“Put simply, programming is giving a set of instructions to a computer to execute. If you’ve ever cooked using a recipe before, you can think of yourself as the computer and the recipe’s author as a programmer. The recipe author provides you with a set of instructions which you read and then follow. The more complex the instructions, the more complex the result!”

Fuente: codecademy.com.

Lenguajes de programación

“programming languages are the tools we use to write instructions for computers to follow. Computers “think” in binary — strings of 1s and 0s. Programming languages allow us to translate the 1s and 0s into something that humans can understand and write. A programming language is made up of a series of symbols that serves as a bridge that allow humans to translate our thoughts into instructions computers can understand.”

Fuente: codecademy.com.

Historia

Charles Babbage (Diciembre 26, 1791 - Octubre 18, 1871)

Ada Lovelance (Diciembre 10, 1815 - Noviembre 27, 1852)

Alan Turing (Junio 23, 1912 - Junio 7, 1954)

Elementos de los lenguajes de programación

  • Sintaxis : reglas que definen la estructura y el formato del código.
  • Semántica : significado de las instrucciones escritas en el lenguaje.
  • Pragmática : manera en que se usa el lenguaje de programación para resolver un problema.

Ejemplo de sintaxis

# Ejemplo correcto
x <- 10
y <- 20

suma <- x+y
print(suma) # Output: [1] 30

# Ejemplo incorrecto
x <- 10
y <- 20

suma <- x+y
print suma # Output: Error: unexpected symbol in "print suma"

Adaptado de Valencia Díaz (2024)

Ejemplo de sintaxis

# Ejemplo correcto de declaración if en R
edad <- 20

if (edad >= 18) {
  print("Eres mayor de edad")
} else {
  print("No eres mayor de edad")
} # Output: [1] "Eres mayor de edad"

# Ejemplo incorrecto de declaración if en R
if edad >= 18 {
  print("Eres mayor de edad")
} else {
  print("No eres mayor de edad")
} # Output: Error: unexpected symbol in "if edad"

Adaptado de Valencia Díaz (2024)

Ejemplo de semántica

# Ejemplo correcto
edad <- 25

ifelse(edad>=18, "Eres mayor de edad", "No eres mayor de edad") # Output: [1] "Eres mayor de edad"

# Ejemplo incorrecto
edad <- as.numeric("veinticinco")

ifelse(edad>=18, "Eres mayor de edad", "No eres mayor de edad")
# Output: Error in if (edad >= 18) { : missing value where TRUE/FALSE needed

Adaptado de Valencia Díaz (2024)

Ejemplo de Pragmática

# Ejemplo correcto
area_circunferencia <- function(radio) {
  area <- pi*radio^2
}

area_calculada <- area_circunferencia(5)

paste0("El área de la circunferencia es ", area_calculada)
# Output: [1] "El área de la circunferencia es 78.5398163397448"


# Ejemplo incorrecto
area_circunferencia <- function(radio) {
  pi <- 3.1416
  area <- pi*radio^2
}

area_calculada <- area_circunferencia(5)

paste0("El área de la circunferencia es ", area_calculada)
# Output: [1] "El área de la circunferencia es 78.54"

Adaptado de Valencia Díaz (2024)

Niveles de los lenguajes de programación

Primera computadora programable multipropósito

ENIAC

Primera computadora programable producida a escala

IBM 650

Lenguajes de programación

Componentes para usar un lenguaje de programación

Redes de ayuda

Consejos al pedir ayuda

  • Dar detalles del problema y lo que quiere lograr.
  • Mencionar las versiones de R y R Studio instaladas.
  • Si se intenta usar un paquete, decir cuál es y la versión instalada de éste.
  • Copiar y pegar todo el código de error.
  • Pedir el favor y agradecer.

Lenguaje R

Componentes de R

Indispensable Rbase y Rtools

Optional (IDE)

Librerías en R y Python para ciencia de datos

R Python Uso
ggplot2 matplotlib / seaborn Visualización de datos
dplyr pandas Manipulación de datos
xgboost xgboost Machine learning
caret scikit-learn Machine learning
lubridate pandas Manipulación de fechas y tiempos
forecast statsmodels Modelos estadísticos

Tidydata

Tidydata

Tidydata

Tidydata

Tidydata

Tidydata

Informes

Informes

Tidyverse

Tidyverse

Tidyverse

Gráficas

Distribution

Histogram

Density

Boxplot

Ridgeline

Beeswarm

Ranking

Table

Barplot

Lollipop

Wordcloud

Parallel

Circular Barplot

Part of a whole

Pie chart

Doughnut

Grouped and Stacked barplot

Dendrogram

Treemap

Evolution

Correlation

Scatter

Connected scatter

Heatmap

Bubble

Evolution

Line plot

Area

Stacked area

Map

Flow

General knowledge

Recursos interesantes de dataviz

Teoría de conjuntos

Técnicas de conteo

Probabilidad

Módulo II: Probabilidad

  • Teoría de conjuntos
  • Principios fundamentales del conteo
  • Probabilidad
  • Funciones de distribución y funciones de probabilidad
  • Distribuciones discretas
  • Distribuciones continuas

Módulo III: Business Intelligence

  • Introducción
  • Arquitectura y componentes de BI
  • Modelamiento de datos para BI
  • ETL
  • KPIs, OKRs y métricas de negocio